package com.fruit.mapper.order;

import java.util.List;
import java.util.Map;

import com.fruit.pojo.common.Page;
import com.fruit.pojo.order.Invoice;
import com.fruit.pojo.order.Order;
import com.fruit.pojo.order.OrderGood;
import com.fruit.pojo.order.OrderGoods;
import com.fruit.pojo.order.OrderReason;
import com.fruit.pojo.order.OrderReceiver;
import com.fruit.pojo.order.OrderView;
import com.fruit.pojo.refund.OrderRufund;
import com.fruit.pojo.refund.Question;
import com.fruit.pojo.shopping.Shopping;
import com.fruit.pojo.user.ComAccount;
import com.fruit.pojo.user.Address;

public interface OrderMapper {

	/** 订单列表
	 * 修改时间：2016.07.21
	 */
	List<Map<String, Object>> getOrderList(Map<String, Object> parame);
	
	/**
	 * 查询订单数量
	 * @param params
	 * @return
	 * @author admin
	 * @version 2017
	 */
	int getOrderCntByUserId(Map<String, Object> params);

	/** 订单信息
	 * 修改时间：2016.07.21
	 */
	Order getOrder(String oid);

	/** 修改订单状态
	 * 修改时间：2016.07.21
	 */
	void updateOrderState(Order order);

	/** 订单详情
	 * 修改时间：2016.07.21
	 */
	List<Map<String, Object>> getOrderDetails(Page page);

	/** 订单收货地址
	 * 修改时间：2016.07.21
	 */
	Address getOrderReceiver(String orderId);

	/** 公司账户信息
	 * 修改时间：2016.07.21
	 */
	ComAccount getComAss();

	/** 获取定金尾款信息
	 * 修改时间：2016.07.21
	 */
	Map<String, Object> getEarnest(String oid);

	/** 获取订单状态
	 * 修改时间：2016.07.21
	 */
	OrderView getOrderDe(Page page);

	/** 修改订单显示
	 * 修改时间：2016.07.21
	 */
	void updateOrderShow(Page page);

	/** 申请退款
	 * 修改时间：2016.07.31
	 */
	int saveRefund(OrderRufund or);

	/** 申请退款
	 * 修改时间：2016.07.31
	 */
	void updateOrderRe(Order o);

	/** 获取发票
	 * 修改时间：2016.07.31
	 */
	Invoice getInvoice(String string);
	
	
	List<OrderGoods> getOrderGoodsList(Order order);

	List<OrderGood> getOrderGoods(Page page);


	OrderReason getReason(String id);

	List<OrderReason> getOrderReason();

	int saveQuestion(Question tion);

	List<Map<String, Object>> getRefundOrderList(Map<String, Object> parame);
	

}
